1
分岐した履歴の問題
AI016Lesson 6
00:00

A 分岐した履歴 リポジトリの履歴が複数の非線形な経路に分かれることです。これは、機能ブランチ(例: news-hotfix)とメインブランチが共通の祖先を共有した後、それぞれ独立して進化する場合に通常起こります。この分岐により、スナップショットの内部構造が複雑になります。

1. 分岐のトリガー

分岐は開発者が git commit をローカルブランチで実行し、同時にアップストリームブランチにも新しいスナップショットが届く(例: index.htmlの更新など)場合に始まります。これにより、 トポロジカルギャップ が生じ、 about/me.html の作業は最新のプロジェクト状態に基づいていなくなります。

共通の基点メイン(index.html)機能ブランチ(news-2.html, me.html)分岐

2. 非線形性のコスト

Gitは分岐を 再帰的マージによって処理しますが、結果として「マージブランチ…」というコミットが多数混在するようになりがちです。これにより、 リポジトリの履歴 監査が難しくなります。なぜなら、 git add および git commit といったファイル間での操作の順序が視覚的に重なり合うためです。 news-2.html および about/me.html が視覚的に重複してしまうからです。

3. スナップショットの断絶

すべてのコミットは完全な スナップショットを作成します。履歴が分岐すると、 内部構造 あなたの機能ブランチは、他の場所で同時に行われた変更の文脈を欠いてしまうため、プロジェクトのタイムラインを再整合するためにリベースなどの戦略が必要になります。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>